[INFO] cloning repository https://github.com/coderSomya/swim
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/coderSomya/swim" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FcoderSomya%2Fswim", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FcoderSomya%2Fswim'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 86faf61dac3e70c858a29b3a235e8143ff43bdb5
[INFO] fixing coderSomya/swim against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FcoderSomya%2Fswim" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/coderSomya/swim
[INFO] finished tweaking git repo https://github.com/coderSomya/swim
[INFO] tweaked toml for git repo https://github.com/coderSomya/swim written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/coderSomya/swim on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/coderSomya/swim already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9f94abf4b60ab7430b97ebbfc73a832e3f69a40a9838ff85c5967a6146a0d60b
[INFO] running `Command { std: "docker" "start" "9f94abf4b60ab7430b97ebbfc73a832e3f69a40a9838ff85c5967a6146a0d60b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f94abf4b60ab7430b97ebbfc73a832e3f69a40a9838ff85c5967a6146a0d60b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f94abf4b60ab7430b97ebbfc73a832e3f69a40a9838ff85c5967a6146a0d60b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f94abf4b60ab7430b97ebbfc73a832e3f69a40a9838ff85c5967a6146a0d60b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking swim v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::membership`
[INFO] [stdout]  --> src/lib.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::membership;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod tests {
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::disseminator`
[INFO] [stdout]  --> src/lib.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::disseminator;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod tests {
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::failure_detector`
[INFO] [stdout]  --> src/lib.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use crate::failure_detector;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod tests {
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use std::net::SocketAddr;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | mod tests {
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/lib.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use std::sync::Arc;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | mod tests {
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/lib.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use std::time::Duration;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | mod tests {
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> src/lib.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     use tokio::sync::Mutex;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | mod tests {
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]   --> src/disseminator.rs:73:74
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub async fn handle_received_update(&self, update: MembershipUpdate, from: SocketAddr) {
[INFO] [stdout]    |                                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: async functions cannot be used for tests
[INFO] [stdout]   --> src/lib.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |       async fn basics() {
[INFO] [stdout]    |       ^----
[INFO] [stdout]    |       |
[INFO] [stdout]    |  _____`async` because of this
[INFO] [stdout]    | |
[INFO] [stdout] 17 | |
[INFO] [stdout] 18 | |
[INFO] [stdout] 19 | |         let addr: SocketAddr = "127.0.0.1:8080".parse().unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `transport` in this scope
[INFO] [stdout]   --> src/lib.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let network = Arc::new(transport::NetworkLayer::bind(addr).await?);
[INFO] [stdout]    |                                ^^^^^^^^^ use of unresolved module or unlinked crate `transport`
[INFO] [stdout]    |
[INFO] [stdout] help: to make use of source file src/transport.rs, use `mod transport` in this file to declare the module
[INFO] [stdout]    |
[INFO] [stdout]  1 + mod transport;
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  7 +     use crate::transport::NetworkLayer;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `NetworkLayer`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 26 -         let network = Arc::new(transport::NetworkLayer::bind(addr).await?);
[INFO] [stdout] 26 +         let network = Arc::new(NetworkLayer::bind(addr).await?);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MembershipUpdate` is never used
[INFO] [stdout]  --> src/disseminator.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum MembershipUpdate {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisseminationComponent` is never constructed
[INFO] [stdout]   --> src/disseminator.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct DisseminationComponent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/disseminator.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl DisseminationComponent {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout]  25 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub async fn disseminate_suspect(&self, addr: SocketAddr, incarnation: u64) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub async fn disseminate_alive(&self, addr: SocketAddr, incarnation: u64) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub async fn disseminate_confirm(&self, addr: SocketAddr, incarnation: u64) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     async fn add_pending_update(&self, update: MembershipUpdate) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     pub async fn get_updates_to_piggyback(&self) -> Vec<MembershipUpdate> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub async fn handle_received_update(&self, update: MembershipUpdate, from: SocketAddr) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     async fn regossip_update(&self, update: MembershipUpdate) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn updates_equal(&self, u1: &MembershipUpdate, u2: &MembershipUpdate) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FailureDetector` is never constructed
[INFO] [stdout]   --> src/failure_detector.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct FailureDetector {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, `run_protocol_period`, `probe_member`, `indirect_probe`, and `get_random_members` are never used
[INFO] [stdout]    --> src/failure_detector.rs:20:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl FailureDetector {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  20 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub async fn start(&self) {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     async fn run_protocol_period(&self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     async fn probe_member(&self, target: SocketAddr) {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     async fn indirect_probe(&self, target: SocketAddr) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     async fn get_random_members(&self, count: usize) -> Vec<SocketAddr> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MemberState` is never used
[INFO] [stdout]  --> src/membership.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum MemberState {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Member` is never constructed
[INFO] [stdout]   --> src/membership.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Member {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MembershipList` is never constructed
[INFO] [stdout]   --> src/membership.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MembershipList {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/membership.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl MembershipList {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn new(suspect_timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |     pub fn add_member(&mut self, addr: SocketAddr, incarnation: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     pub fn get_random_alive(&self) -> Option<SocketAddr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn get_alive_members(&self) -> Vec<SocketAddr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn mark_suspected(&mut self, addr: SocketAddr, incarnation: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn mark_alive(&mut self, addr: SocketAddr, incarnation: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn mark_confirmed(&mut self, addr: SocketAddr, incarnation: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn remove_member(&mut self, addr: &SocketAddr) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn cleanup_suspected(&mut self) -> Vec<SocketAddr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SwimMessage` is never used
[INFO] [stdout]   --> src/transport.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum SwimMessage {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NetworkLayer` is never constructed
[INFO] [stdout]   --> src/transport.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct NetworkLayer {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `bind`, `receiver_task`, `send_ping`, `wait_for_ack`, and `send_ping_req` are never used
[INFO] [stdout]   --> src/transport.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl NetworkLayer {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 23 |     pub async fn bind(addr: SocketAddr) -> std::io::Result<Self> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     async fn receiver_task(
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub async fn send_ping(&self, target: SocketAddr) -> std::io::Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub async fn wait_for_ack(&self, from: SocketAddr) -> Result<(), ()> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub async fn send_ping_req(&self, helper: SocketAddr, target: SocketAddr, timeout_dur: Duration) -> Result<bool, ()> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in an async function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/lib.rs:26:73
[INFO] [stdout]    |
[INFO] [stdout] 16 |       async fn basics() {
[INFO] [stdout]    |  _______________________-
[INFO] [stdout] 17 | |
[INFO] [stdout] 18 | |
[INFO] [stdout] 19 | |         let addr: SocketAddr = "127.0.0.1:8080".parse().unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | |         let network = Arc::new(transport::NetworkLayer::bind(addr).await?);
[INFO] [stdout]    | |                                                                         ^ cannot use the `?` operator in an async function that returns `()`
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |     }
[INFO] [stdout]    | |_____- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]   --> src/disseminator.rs:73:74
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub async fn handle_received_update(&self, update: MembershipUpdate, from: SocketAddr) {
[INFO] [stdout]    |                                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `swim` (lib test) due to 3 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "9f94abf4b60ab7430b97ebbfc73a832e3f69a40a9838ff85c5967a6146a0d60b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f94abf4b60ab7430b97ebbfc73a832e3f69a40a9838ff85c5967a6146a0d60b", kill_on_drop: false }`
[INFO] [stdout] 9f94abf4b60ab7430b97ebbfc73a832e3f69a40a9838ff85c5967a6146a0d60b
